Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems have facilitated increased productivity and reduced costs in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Frequently, the electronic systems designed to provide these results include memories. However, accessing memory resources in a fast and efficient manner can involve complicated protocols.
Numerous electronic devices include processors that operate by executing software comprising a series of instructions for manipulating data in the performance of useful tasks. The instructions and associated data are typically stored in a memory. Memories usually consist of a location for storing information and a unique indicator or address. The utility a device provides often depends upon the speed and efficiency at which instructions are executed. The ability to access a memory and transfer information quickly and conveniently usually has a significant impact on information processing latency. In traditional systems such as shown in FIG. 1A, information is typically transferred from a host 10 to a buffer 21 in a memory controller 20 while complete address information is determined and then the data and physical address information is transferred to a buffer 31 of memory 30. FIGS. 1B and 1C are block diagrams of conventional data input command cycle sequences in which column and row address information is determined before the data is transferred to the buffer 31 in memory 30.
Traditional attempts at memory control are often very convoluted and complex. Such protocols also suffer from inefficiency and overhead in regards to latency and available bandwidth throughout the system, which can result in issues with scheduling due to unknown traffic patterns and limited resources. Such latency problems can be experienced by a host attempting to read or write information to the memory. There are a number of applications (e.g., real time applications) where processing time is critical and extended latency in retrieving or writing information to a memory can have detrimental impacts on performance and user experience. For example, in real time applications extended latency can cause jumpy presentations.
Information is typically written by a program operation that programs or writes a particular memory cell or group of cells (e.g., page, block, etc.). The particular memory cell is typically assigned an identification or address and the system utilizes the address in tracking which cell is storing a particular piece of information. Conventional memory cells are typically configured in a memory array arranged in columns and rows. Traditional approaches can exacerbate latency delays when determining the appropriated column and row indication for an address.